﻿using System;
using System.Collections.Generic;
using System.Web;
using System.Collections;
using System.Text;

namespace FiltroMultiploGridview
{
    public class OrganizaFilterExpression
    {
        private Hashtable _parametros = new Hashtable();

        public void AdicionaParametro(string Nome, string Valor)
        {
            if (!_parametros.ContainsKey(Nome) && !System.String.IsNullOrEmpty(Valor))
            {
                _parametros.Add(Nome, Valor.Replace("'","''") );
            }
        }

        public override string ToString()
        {
            if (_parametros.Count == 0)
                return "";

            //monta a condição para colocar no FilterExpression
            StringBuilder saida = new StringBuilder();
            foreach (string chave in _parametros.Keys)
            {
                saida.Append(System.String.Format("{0} = '{1}' and ", chave, _parametros[chave]));
            }

            //remove o último "and " que sobrou
            saida.Remove(saida.Length - 4, 4);

            return saida.ToString();

        }

    }
}